This disclosure is based upon, and claims priority from French patent application No. 98 16216 filed Dec. 22, 1998, the contents of which are incorporated by reference herein.
The invention relates to a storage system including at least one memory, and means for the management of the memory with anti-attrition, in a manner such as to increase the life of the memory. The invention likewise relates to a process of anti-attrition management of such a memory.
The invention is applied to any memory which is non-volatile or whose content is backed up, and is likely to have frequent updates of certain data. The invention is particularly applied to storage supports such as chip cards, so-called xe2x80x9csmart cardsxe2x80x9d.
The manufacturers of memories of the EPROM, EEPROM, and FeRAM types know that whatever the technology of the non-volatile memories, there is a maximum number N of possible read-write operations for each cell constituting a memory. Indeed, it is considered that a memory is worn out when the number of write and/or read operations has reached this maximum number N. That is, beyond this number there is a risk of alteration of information, or a loss of data which may be written in the memory.
According to the invention, it is sought to reduce the attrition of the non-volatile memory cells in which numerous write accesses (in the case of EPROM or EEPROM memories), or read accesses (in the case of FeRAM memories), have to be carried out, for certain data.
In the prior art, solutions of this problem have been sought by isolating the data which are considered as sensitive, that is, the data which are often updated, in a portion reserved for this purpose in the memory. Unfortunately, there is a fatigue of the zones concerned, which results because these updates are always carried out for the same data and always for the same memory cells.
A solution of this problem has been sought by dividing the reserved portion into several zones, so as to implement a device for the distribution of the attrition of information during successive write operations of new data. This makes it possible to avoid the loss of information due to an attrition of the memory cells dedicated to the information. In practice, the datum or data preceding the new datum is, or are, preserved in the dedicated zone or zones.
However, no solution heretofore presented is sufficiently satisfactory. In other words, none of the solutions significantly lengthens the life of such a memory.
An object of the present invention is to solve these problems.
Another object of the invention is to provide a solution to the attrition of memories, including the cases in which it is not known a priori which are the memory cells which will be stressed. This will more and more be the case with the possibility which is offered of loading interpretable programs (a program that is constituted by data in an interpretable language) into the cards. The loading of interpretable programs could be downloadings carried out by the users themselves.
Another object of the invention is to provide a solution to the espionage of sensitive data, since these data will be displaced in the memory, as will be seen hereinafter in a detailed manner.
The invention has as its first subject a storage system comprising at least one non-volatile memory containing information which is likely to be updated, principally characterized in that it includes means for management of this memory, able to displace, over all or a portion of the memory, respectively all or a portion of the content of the memory.
In practice, the whole content of the memory will be displaced with the exception of the data which will be in this memory and for which it is imperative to maintain the physical address. This is the case, for example, of management (and/or instruction) data for the mechanism implemented by the management means according to the invention. If these data are stored in this memory, then the memory portion containing all of these data (and/or instructions) will not be displaced.
In the example of chip cards, this can also be the case for data such as the serial number of the card, or logic locks. In the case in which all of these data will be in another memory of the card, then all of the contents of the managed memory will be displaced.
The memory management means is able to effect displacements of an iterative manner. The displacements effected in an iterative manner are cyclic. The means for displacement include:
means for the transfer of a first region to a second region.
means for address conversion such that all the requests for access to the first region are converted into requests for access to the second region, into which the content of the first region has been transferred.
The displacement means operate by progressive shifting of the contents of a first region to a second region.
According to a preferred embodiment, the memory is organized into regions comprising one or more cells, at least one of these regions is empty, and the management means operate progressive shifts of the contents of a first region to a second region, the second region being the region which is empty, or was emptied during a preceding shift.
The displacement means for progressive shifting of the content of a first region into a second, empty or emptied, region furthermore includes means for control of the shifting. The means for control of the shifting can be constituted by a clock signal. Alternatively, the means for control of the shifting is constituted by a control signal of a random character. The means for control of the shifts includes counting means of comparison of the number of accesses to the memory with respect to a predetermined threshold.
The transfer means includes a program for reading out all the first region concerned and for writing in the second region concerned. The means for address conversion include a logic unit implemented by a program, or a physical unit constituted by a logic circuit in the addressing circuit of the memory.
In a particular application of the invention, the storage system is constituted by a chip card.
Another subject of the invention is a process of the management of a non-volatile memory containing information which is likely to be updated, principally characterized in that it includes a step of displacement, over all or a portion of the memory, respectively of all or a portion of the content of the memory.
According to a preferred embodiment of the invention, the memory is organized into regions, and the step of displacement includes steps of transfer of the contents of the regions. Advantageously, the process includes the step of:
providing at least one free region in the memory, the information which is to be recorded in the memory being recorded in the regions of the memory other than this empty region.
According to this embodiment, the displacement step is effected by the progressive shifting of the content of a first region to a second region, the second region being the empty region or the region emptied during a preceding shift.
The progressive shifting comprises a step of:
marking the new free region.
The step of displacement furthermore includes a step of address conversion such that all the requests for access to the first region are converted into requests for access to the second region, into which the contents of the first region has been transferred.
The step of progressive shifting includes a step of control of the shifting. The control of the shifting can be constituted by a clock signal, or a signal having random characteristics.
According to another embodiment, the step of control of shifting includes a count of the number of accesses to the memory and a comparison of this number of accesses to a predetermined threshold (S) for the number. The transfer step is effected by means of a program for reading out all the first region concerned and for writing into the second region concerned.